.wcpa-wrapper { margin: 1em 0; }
.wcpa-swatches, .wcpa-sizes { display: flex; gap: 10px; flex-wrap: wrap; }

.wcpa-swatch input, .wcpa-size input { display:none; }

.wcpa-dot {
  width: 24px; height: 24px; border-radius: 50%;
  border: 1px solid #ccc; display:inline-block; vertical-align: middle;
}

.wcpa-swatch input:checked + .wcpa-dot {
  border: 2px solid #000;
}

.wcpa-size span {
  border: 1px solid #ccc; padding: 6px 12px; border-radius: 6px;
}

.wcpa-size input:checked + span {
  border: 2px solid #000; font-weight:bold;
}